﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace CityGames
{
    public partial class FormEventosBracketsT : Form
    {
        private string nombreEvento = "";
        private int numParticipantes = 0;
        static private PartidoPlayoff enPartido = new PartidoPlayoff();
        static private Torneo enTorneo = new Torneo();
        static private Socio enSocio = new Socio();
        private DataSet dsPartidos;
        FormContenedor contenedor;
        private bool modificado;

        private string expRetbpuntuacion = @"^(\d{1,3})?$";
        private string errorPuntuacion = "Has introducido una puntuacíon no válida.";
        private string errorPuntuacionEmpate = "Has introducido una puntuación que provoca un empate.";
        private int p1 = -1;
        private int p2 = -1;
        private int p3 = -1;
        private int p4 = -1;
        private int p5 = -1;
        private int p6 = -1;
        private int p7 = -1;
        private int p8 = -1;
        private int p9 = -1;
        private int p10 = -1;
        private int p11 = -1;
        private int p12 = -1;
        private int p13 = -1;
        private int p14 = -1;
        private int p15 = -1;
        private int p16 = -1;
        private int p17 = -1;
        private int p18 = -1;
        private int p19 = -1;
        private int p20 = -1;
        private int p21 = -1;
        private int p22 = -1;
        private int p23 = -1;
        private int p24 = -1;
        private int p25 = -1;
        private int p26 = -1;
        private int p27 = -1;
        private int p28 = -1;
        private int p29 = -1;
        private int p30 = -1;
        private int p32 = -1;
        private int p33 = -1;

        public FormEventosBracketsT()
        {
            InitializeComponent();
        }

        private bool ValidarNumero(string texto, int p1)
        {
            bool correcto = false;

            try
            {
                if (Regex.Match(texto, expRetbpuntuacion).Success)
                {
                    if (texto != "" && int.Parse(texto) != p1)   // Si lo ha modificado
                        correcto = true;
                    else if (texto == "" && p1 != -1)           // Si lo ha modificado
                        correcto = true;
                    else                                        // No lo ha modificado
                        correcto = false;
                }
                else
                {
                    correcto = false;
                    MessageBox.Show("Debe introducir un número de 1 a 3 dígitos.    ", "Introduce un número.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return correcto;
        }

        private void rellenarSiguiente(ref int p1,ref int p2, TextBox tb1, TextBox tb2, int filaA, int campoA, int filaB, int campoB, int filaC, int campoC, TextBox tbP3)
        {
            try
            {
                p1 = int.Parse(tb1.Text);
                if (p2 != -1)
                {
                    if (p1 == p2)
                    {
                        MessageBox.Show(errorPuntuacionEmpate, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        tb1.Text = "";
                        tbP3.Text = "";
                        dsPartidos.Tables[0].Rows[filaC][campoC] = "";
                        p1 = -1;
                        tb1.SelectAll();
                    }
                    else if (p1 < p2)
                    {
                        tbP3.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[filaB][campoB].ToString());
                        dsPartidos.Tables[0].Rows[filaC][campoC] = dsPartidos.Tables[0].Rows[filaB][campoB];
                    }
                    else
                    {
                        tbP3.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[filaA][campoA].ToString());
                        dsPartidos.Tables[0].Rows[filaC][campoC] = dsPartidos.Tables[0].Rows[filaA][campoA];
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void tb1_Leave(object sender, EventArgs e)
        {
            try
            {
                if (dsPartidos.Tables.Count > 0)
                {
                    if (ValidarNumero(tb1.Text, p1))
                    {
                        if (tb1.Text != "")
                        {
                            if (numParticipantes == 12 || numParticipantes == 8)
                            {
                                rellenarSiguiente(ref p1, ref p2, tb1, tb2, 0, 2, 0, 3, 4, 2, tbP25);
                            }
                            else if (numParticipantes == 24 || numParticipantes == 16)
                            {
                                rellenarSiguiente(ref p1, ref p2, tb1, tb2, 0, 2, 0, 3, 8, 2, tbP17);
                            }
                            if(p1 != -1)
                                dsPartidos.Tables[0].Rows[0][4] = tb1.Text;
                            else
                                dsPartidos.Tables[0].Rows[0][4] = DBNull.Value;
                        }
                        else
                        {
                            p1 = -1;
                            if (numParticipantes == 12 || numParticipantes == 8)
                            {
                                tbP25.Text = "";
                                dsPartidos.Tables[0].Rows[4][2] = DBNull.Value;
                            }
                            else if (numParticipantes == 24 || numParticipantes == 16)
                            {
                                tbP17.Text = "";
                                dsPartidos.Tables[0].Rows[8][2] = DBNull.Value;
                            }
                            dsPartidos.Tables[0].Rows[0][4] = DBNull.Value;
                        }
                        modificado = true;
                    }
                    else
                    {
                        tb1.SelectAll();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb2_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb2.Text, p2))
                {
                    if (tb2.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p2, ref p1, tb2, tb1, 0, 3, 0, 2, 4, 2, tbP25);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p2, ref p1, tb2, tb1, 0, 3, 0, 2, 8, 2, tbP17);
                        }
                        if (p2 != -1)
                            dsPartidos.Tables[0].Rows[0][5] = tb2.Text;
                        else
                            dsPartidos.Tables[0].Rows[0][5] = DBNull.Value;

                    }
                    else
                    {
                        p2 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP25.Text = "";
                            dsPartidos.Tables[0].Rows[4][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP17.Text = "";
                            dsPartidos.Tables[0].Rows[8][2] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[0][5] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb2.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb3_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb3.Text, p3))
                {
                    if (tb3.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p3, ref p4, tb3, tb4, 1, 2, 1, 3, 4, 3, tbP26);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p3, ref p4, tb3, tb4, 1, 2, 1, 3, 8, 3, tbP18);
                        }
                        if (p3 != -1)
                            dsPartidos.Tables[0].Rows[1][4] = tb3.Text;
                        else
                            dsPartidos.Tables[0].Rows[1][4] = DBNull.Value;
                    }
                    else
                    {
                        p3 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP26.Text = "";
                            dsPartidos.Tables[0].Rows[4][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP18.Text = "";
                            dsPartidos.Tables[0].Rows[8][3] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[1][4] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb3.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb4_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb4.Text, p4))
                {
                    if (tb4.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p4, ref p3, tb4, tb3, 1, 3, 1, 2, 4, 3, tbP26);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p4, ref p3, tb4, tb3, 1, 3, 1, 2, 8, 3, tbP18);
                        }
                        if (p4 != -1)
                            dsPartidos.Tables[0].Rows[1][5] = tb4.Text;
                        else
                            dsPartidos.Tables[0].Rows[1][5] = DBNull.Value;
                    }
                    else
                    {
                        p4 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP26.Text = "";
                            dsPartidos.Tables[0].Rows[4][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP18.Text = "";
                            dsPartidos.Tables[0].Rows[8][3] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[1][5] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb4.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb5_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb5.Text, p5))
                {
                    if (tb5.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p5, ref p6, tb5, tb6, 2, 2, 2, 3, 5, 2, tbP27);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p5, ref p6, tb5, tb6, 2, 2, 2, 3, 9, 2, tbP19);
                        }
                        if (p5 != -1)
                            dsPartidos.Tables[0].Rows[2][4] = tb5.Text;
                        else
                            dsPartidos.Tables[0].Rows[2][4] = DBNull.Value;
                    }
                    else
                    {
                        p5 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP27.Text = "";
                            dsPartidos.Tables[0].Rows[5][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP19.Text = "";
                            dsPartidos.Tables[0].Rows[9][2] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[2][4] = DBNull.Value;

                    }
                    modificado = true;
                }
                else
                {
                    tb5.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb6_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb6.Text, p6))
                {
                    if (tb6.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p6, ref p5, tb6, tb5, 2, 3, 2, 2, 5, 2, tbP27);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p6, ref p5, tb6, tb5, 2, 3, 2, 2, 9, 2, tbP19);
                        }
                        if (p6 != -1)
                            dsPartidos.Tables[0].Rows[2][5] = tb6.Text;
                        else
                            dsPartidos.Tables[0].Rows[2][5] = DBNull.Value;
                    }
                    else
                    {
                        p6 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP27.Text = "";
                            dsPartidos.Tables[0].Rows[5][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP19.Text = "";
                            dsPartidos.Tables[0].Rows[9][2] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[2][5] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb6.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb7_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb7.Text, p7))
                {
                    if (tb7.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p7, ref p8, tb7, tb8, 3, 2, 3, 3, 5, 3, tbP28);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p7, ref p8, tb7, tb8, 3, 2, 3, 3, 9, 3, tbP20);
                        }
                        if (p7 != -1)
                            dsPartidos.Tables[0].Rows[3][4] = tb7.Text;
                        else
                            dsPartidos.Tables[0].Rows[3][4] = DBNull.Value;
                    }
                    else
                    {
                        p7 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP28.Text = "";
                            dsPartidos.Tables[0].Rows[5][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP20.Text = "";
                            dsPartidos.Tables[0].Rows[9][3] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[3][4] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb7.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb8_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb8.Text, p8))
                {
                    if (tb8.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            rellenarSiguiente(ref p8, ref p7, tb8, tb7, 3, 3, 3, 2, 5, 3, tbP28);
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            rellenarSiguiente(ref p8, ref p7, tb8, tb7, 3, 3, 3, 2, 9, 3, tbP20);
                        }
                        if (p8 != -1)
                            dsPartidos.Tables[0].Rows[3][5] = tb8.Text;
                        else
                            dsPartidos.Tables[0].Rows[3][5] = DBNull.Value;
                    }
                    else
                    {
                        p8 = -1;
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            tbP28.Text = "";
                            dsPartidos.Tables[0].Rows[5][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            tbP20.Text = "";
                            dsPartidos.Tables[0].Rows[9][3] = DBNull.Value;
                        }
                        dsPartidos.Tables[0].Rows[3][5] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb8.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb9_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb9.Text, p9))
                {
                    if (tb9.Text != "")
                    {
                        rellenarSiguiente(ref p9, ref p10, tb9, tb10, 4, 2, 4, 3, 10, 2, tbP21);
                        if (p9 != -1)
                            dsPartidos.Tables[0].Rows[4][4] = tb9.Text;
                        else
                            dsPartidos.Tables[0].Rows[4][4] = DBNull.Value;
                    }
                    else
                    {
                        p9 = -1;
                        tbP21.Text = "";
                        dsPartidos.Tables[0].Rows[4][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[10][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb9.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb10_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb10.Text, p10))
                {
                    if (tb10.Text != "")
                    {
                        rellenarSiguiente(ref p10, ref p9, tb10, tb9, 4, 3, 4, 2, 10, 2, tbP21);
                        if (p10 != -1)
                            dsPartidos.Tables[0].Rows[4][5] = tb10.Text;
                        else
                            dsPartidos.Tables[0].Rows[4][5] = DBNull.Value;
                    }
                    else
                    {
                        p10 = -1;
                        tbP21.Text = "";
                        dsPartidos.Tables[0].Rows[4][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[10][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb10.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb11_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb11.Text, p11))
                {
                    if (tb11.Text != "")
                    {
                        rellenarSiguiente(ref p11, ref p12, tb11, tb12, 5, 2, 5, 3, 10, 3, tbP22);
                        if (p11 != -1)
                            dsPartidos.Tables[0].Rows[5][4] = tb11.Text;
                        else
                            dsPartidos.Tables[0].Rows[5][4] = DBNull.Value;
                    }
                    else
                    {
                        p11 = -1;
                        tbP22.Text = "";
                        dsPartidos.Tables[0].Rows[5][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[10][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb11.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb12_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb12.Text, p12))
                {
                    if (tb12.Text != "")
                    {
                        rellenarSiguiente(ref p12, ref p11, tb12, tb11, 5, 3, 5, 2, 10, 3, tbP22);
                        if (p12 != -1)
                            dsPartidos.Tables[0].Rows[5][5] = tb12.Text;
                        else
                            dsPartidos.Tables[0].Rows[5][5] = DBNull.Value;
                    }
                    else
                    {
                        p12 = -1;
                        tbP22.Text = "";
                        dsPartidos.Tables[0].Rows[5][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[10][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb12.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb13_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb13.Text, p13))
                {
                    if (tb13.Text != "")
                    {
                        rellenarSiguiente(ref p13, ref p14, tb13, tb14, 6, 2, 6, 3, 11, 2, tbP23);
                        if (p13 != -1)
                            dsPartidos.Tables[0].Rows[6][4] = tb13.Text;
                        else
                            dsPartidos.Tables[0].Rows[6][4] = DBNull.Value;
                    }
                    else
                    {
                        p13 = -1;
                        tbP23.Text = "";
                        dsPartidos.Tables[0].Rows[6][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[11][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb13.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb14_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb14.Text, p14))
                {
                    if (tb14.Text != "")
                    {
                        rellenarSiguiente(ref p14, ref p13, tb14, tb13, 6, 3, 6, 2, 11, 2, tbP23);
                        if (p14 != -1)
                            dsPartidos.Tables[0].Rows[6][5] = tb14.Text;
                        else
                            dsPartidos.Tables[0].Rows[6][5] = DBNull.Value;
                    }
                    else
                    {
                        p14 = -1;
                        tbP23.Text = "";
                        dsPartidos.Tables[0].Rows[6][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[11][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb14.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb15_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb15.Text, p15))
                {
                    if (tb15.Text != "")
                    {
                        rellenarSiguiente(ref p15, ref p16, tb15, tb16, 7, 2, 7, 3, 11, 3, tbP24);
                        if (p15 != -1)
                            dsPartidos.Tables[0].Rows[7][4] = tb15.Text;
                        else
                            dsPartidos.Tables[0].Rows[7][4] = DBNull.Value;
                    }
                    else
                    {
                        p15 = -1;
                        tbP24.Text = "";
                        dsPartidos.Tables[0].Rows[7][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[11][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb15.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb16_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb16.Text, p16))
                {
                    if (tb16.Text != "")
                    {
                        rellenarSiguiente(ref p16, ref p15, tb16, tb15, 7, 3, 7, 2, 11, 3, tbP24);
                        if (p16 != -1)
                            dsPartidos.Tables[0].Rows[7][5] = tb16.Text;
                        else
                            dsPartidos.Tables[0].Rows[7][5] = DBNull.Value;
                    }
                    else
                    {
                        p16 = -1;
                        tbP24.Text = "";
                        dsPartidos.Tables[0].Rows[7][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[11][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb16.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb17_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb17.Text, p17))
                {
                    if (tb17.Text != "")
                    {
                        rellenarSiguiente(ref p17, ref p18, tb17, tb18, 8, 2, 8, 3, 12, 2, tbP25);
                        if (p17 != -1)
                            dsPartidos.Tables[0].Rows[8][4] = tb17.Text;
                        else
                            dsPartidos.Tables[0].Rows[8][4] = DBNull.Value;
                    }
                    else
                    {
                        p17 = -1;
                        tbP25.Text = "";
                        dsPartidos.Tables[0].Rows[8][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[12][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb17.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb18_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb18.Text, p18))
                {
                    if (tb18.Text != "")
                    {
                        rellenarSiguiente(ref p18, ref p17, tb18, tb17, 8, 3, 8, 2, 12, 2, tbP25);
                        if (p18 != -1)
                            dsPartidos.Tables[0].Rows[8][5] = tb18.Text;
                        else
                            dsPartidos.Tables[0].Rows[8][5] = DBNull.Value;
                    }
                    else
                    {
                        p18 = -1;
                        tbP25.Text = "";
                        dsPartidos.Tables[0].Rows[8][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[12][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb18.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb19_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb19.Text, p19))
                {
                    if (tb19.Text != "")
                    {
                        rellenarSiguiente(ref p19, ref p20, tb19, tb20, 9, 2, 9, 3, 12, 3, tbP26);
                        if (p19 != -1)
                            dsPartidos.Tables[0].Rows[9][4] = tb19.Text;
                        else
                            dsPartidos.Tables[0].Rows[9][4] = DBNull.Value;
                    }
                    else
                    {
                        p19 = -1;
                        tbP26.Text = "";
                        dsPartidos.Tables[0].Rows[9][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[12][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb19.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb20_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb20.Text, p20))
                {
                    if (tb20.Text != "")
                    {
                        rellenarSiguiente(ref p20, ref p19, tb20, tb19, 9, 3, 9, 2, 12, 3, tbP26);
                        if (p20 != -1)
                            dsPartidos.Tables[0].Rows[9][5] = tb20.Text;
                        else
                            dsPartidos.Tables[0].Rows[9][5] = DBNull.Value;
                    }
                    else
                    {
                        p20 = -1;
                        tbP26.Text = "";
                        dsPartidos.Tables[0].Rows[9][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[12][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb20.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb21_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb21.Text, p21))
                {
                    if (tb21.Text != "")
                    {
                        rellenarSiguiente(ref p21, ref p22, tb21, tb22, 10, 2, 10, 3, 13, 2, tbP27);
                        if (p21 != -1)
                            dsPartidos.Tables[0].Rows[10][4] = tb21.Text;
                        else
                            dsPartidos.Tables[0].Rows[10][4] = DBNull.Value;
                    }
                    else
                    {
                        p21 = -1;
                        tbP27.Text = "";
                        dsPartidos.Tables[0].Rows[10][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[13][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb21.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb22_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb22.Text, p22))
                {
                    if (tb22.Text != "")
                    {
                        rellenarSiguiente(ref p22, ref p21, tb22, tb21, 10, 3, 10, 2, 13, 2, tbP27);
                        if (p22 != -1)
                            dsPartidos.Tables[0].Rows[10][5] = tb22.Text;
                        else
                            dsPartidos.Tables[0].Rows[10][5] = DBNull.Value;
                    }
                    else
                    {
                        p22 = -1;
                        tbP27.Text = "";
                        dsPartidos.Tables[0].Rows[10][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[13][2] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb22.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb23_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb23.Text, p23))
                {
                    if (tb23.Text != "")
                    {
                        rellenarSiguiente(ref p23, ref p24, tb23, tb24, 11, 2, 11, 3, 13, 3, tbP28);
                        if (p23 != -1)
                            dsPartidos.Tables[0].Rows[11][4] = tb23.Text;
                        else
                            dsPartidos.Tables[0].Rows[11][4] = DBNull.Value;
                    }
                    else
                    {
                        p23 = -1;
                        tbP28.Text = "";
                        dsPartidos.Tables[0].Rows[11][4] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[13][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb23.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb24_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb24.Text, p24))
                {
                    if (tb24.Text != "")
                    {
                        rellenarSiguiente(ref p24, ref p23, tb24, tb23, 11, 3, 11, 2, 13, 3, tbP28);
                        if (p24 != -1)
                            dsPartidos.Tables[0].Rows[11][5] = tb24.Text;
                        else
                            dsPartidos.Tables[0].Rows[11][5] = DBNull.Value;
                    }
                    else
                    {
                        p24 = -1;
                        tbP28.Text = "";
                        dsPartidos.Tables[0].Rows[11][5] = DBNull.Value;
                        dsPartidos.Tables[0].Rows[13][3] = DBNull.Value;
                    }
                    modificado = true;
                }
                else
                {
                    tb24.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb25_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb25.Text, p25))
                {
                    if (tb25.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p25, ref p26, tb25, tb26, 4, 2, 4, 3, 6, 2, tbP29);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p25, ref p26, tb25, tb26, 12, 2, 12, 3, 14, 2, tbP29);

                        //3er y 4to puesto de Brackets de 8
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (dsPartidos.Tables[0].Rows[4][2].ToString() == dsPartidos.Tables[0].Rows[6][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[4][3].ToString());
                                dsPartidos.Tables[0].Rows[7][2] = dsPartidos.Tables[0].Rows[4][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[4][3].ToString() == dsPartidos.Tables[0].Rows[6][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[4][2].ToString());
                                dsPartidos.Tables[0].Rows[7][2] = dsPartidos.Tables[0].Rows[4][2].ToString();                           
                            }
                            if (p25 != -1)
                                dsPartidos.Tables[0].Rows[4][4] = tb25.Text;
                            else
                                dsPartidos.Tables[0].Rows[4][4] = DBNull.Value;

                            dsPartidos.Tables[0].Rows[4][4] = tb25.Text;
                        }
                        //3er y 4to puesto de Brackets de 16
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (dsPartidos.Tables[0].Rows[12][2].ToString() == dsPartidos.Tables[0].Rows[14][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[12][3].ToString());
                                dsPartidos.Tables[0].Rows[15][2] = dsPartidos.Tables[0].Rows[12][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[12][3].ToString() == dsPartidos.Tables[0].Rows[14][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[12][2].ToString());
                                dsPartidos.Tables[0].Rows[15][2] = dsPartidos.Tables[0].Rows[12][2].ToString();
                            }
                            if (p25 != -1)
                                dsPartidos.Tables[0].Rows[12][4] = tb25.Text;
                            else
                                dsPartidos.Tables[0].Rows[12][4] = DBNull.Value;
                        }
                    }
                    else
                    {
                        p25 = -1;
                        tbP29.Text = "";
                        tbP32.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[4][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[6][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[12][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[14][2] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb25.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb26_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb26.Text, p26))
                {
                    if (tb26.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p26, ref p25, tb26, tb25, 4, 3, 4, 2, 6, 2, tbP29);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p26, ref p25, tb26, tb25, 12, 3, 12, 2, 14, 2, tbP29);

                        //3er y 4to puesto de Brackets de 8
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (dsPartidos.Tables[0].Rows[4][2].ToString() == dsPartidos.Tables[0].Rows[6][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[4][3].ToString());
                                dsPartidos.Tables[0].Rows[7][2] = dsPartidos.Tables[0].Rows[4][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[4][3].ToString() == dsPartidos.Tables[0].Rows[6][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[4][2].ToString());
                                dsPartidos.Tables[0].Rows[7][2] = dsPartidos.Tables[0].Rows[4][2].ToString();
                            }
                            if (p26 != -1)
                                dsPartidos.Tables[0].Rows[4][5] = tb26.Text;
                            else
                                dsPartidos.Tables[0].Rows[4][5] = DBNull.Value;
                        }

                        //3er y 4to puesto de Brackets de 16
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (dsPartidos.Tables[0].Rows[12][2].ToString() == dsPartidos.Tables[0].Rows[14][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[12][3].ToString());
                                dsPartidos.Tables[0].Rows[15][2] = dsPartidos.Tables[0].Rows[12][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[12][3].ToString() == dsPartidos.Tables[0].Rows[14][2].ToString())
                            {
                                tbP32.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[12][2].ToString());
                                dsPartidos.Tables[0].Rows[15][2] = dsPartidos.Tables[0].Rows[12][2].ToString();
                            }

                            if (p26 != -1)
                                dsPartidos.Tables[0].Rows[12][5] = tb26.Text;
                            else
                                dsPartidos.Tables[0].Rows[12][5] = DBNull.Value;                          
                        }
                    }
                    else
                    {
                        p26 = -1;
                        tbP29.Text = "";
                        tbP32.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[4][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[6][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[12][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[14][2] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb26.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb27_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb27.Text, p27))
                {
                    if (tb27.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p27, ref p28, tb27, tb28, 5, 2, 5, 3, 6, 3, tbP30);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p27, ref p28, tb27, tb28, 13, 2, 13, 3, 14, 3, tbP30);

                        //3er y 4to puesto de Brackets de 8
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (dsPartidos.Tables[0].Rows[5][3].ToString() == dsPartidos.Tables[0].Rows[6][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[5][2].ToString());
                                dsPartidos.Tables[0].Rows[7][3] = dsPartidos.Tables[0].Rows[5][2].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[5][2].ToString() == dsPartidos.Tables[0].Rows[6][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[5][3].ToString());
                                dsPartidos.Tables[0].Rows[7][3] = dsPartidos.Tables[0].Rows[5][3].ToString();
                            }

                            if (p27 != -1)
                                dsPartidos.Tables[0].Rows[5][4] = tb27.Text;
                            else
                                dsPartidos.Tables[0].Rows[5][4] = DBNull.Value;

                        }
                        //3er y 4to puesto de Brackets de 16
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (dsPartidos.Tables[0].Rows[13][3].ToString() == dsPartidos.Tables[0].Rows[14][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[13][2].ToString());
                                dsPartidos.Tables[0].Rows[15][3] = dsPartidos.Tables[0].Rows[13][2].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[13][2].ToString() == dsPartidos.Tables[0].Rows[14][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[13][3].ToString());
                                dsPartidos.Tables[0].Rows[15][3] = dsPartidos.Tables[0].Rows[13][3].ToString();
                            }

                            if (p27 != -1)
                                dsPartidos.Tables[0].Rows[13][4] = tb27.Text;
                            else
                                dsPartidos.Tables[0].Rows[13][4] = DBNull.Value;
                        }
                    }
                    else
                    {
                        p27 = -1;
                        tbP30.Text = "";
                        tbP33.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[5][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[6][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[13][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[14][3] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb27.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb28_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb28.Text, p28))
                {
                    if (tb28.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p28, ref p27, tb28, tb27, 5, 3, 5, 2, 6, 3, tbP30);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p28, ref p27, tb28, tb27, 13, 3, 13, 2, 14, 3, tbP30);


                        //3er y 4to puesto de Brackets de 8
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (dsPartidos.Tables[0].Rows[5][2].ToString() == dsPartidos.Tables[0].Rows[6][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[5][3].ToString());
                                dsPartidos.Tables[0].Rows[7][3] = dsPartidos.Tables[0].Rows[5][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[5][3].ToString() == dsPartidos.Tables[0].Rows[6][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[5][2].ToString());
                                dsPartidos.Tables[0].Rows[7][3] = dsPartidos.Tables[0].Rows[5][2].ToString();
                            }

                            if (p28 != -1)
                                dsPartidos.Tables[0].Rows[5][5] = tb28.Text;
                            else
                                dsPartidos.Tables[0].Rows[5][5] = DBNull.Value;
                        }
                        //3er y 4to puesto de Brackets de 16
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (dsPartidos.Tables[0].Rows[13][2].ToString() == dsPartidos.Tables[0].Rows[14][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[13][3].ToString());
                                dsPartidos.Tables[0].Rows[15][3] = dsPartidos.Tables[0].Rows[13][3].ToString();
                            }
                            else if (dsPartidos.Tables[0].Rows[13][3].ToString() == dsPartidos.Tables[0].Rows[14][3].ToString())
                            {
                                tbP33.Text = enSocio.ObtenerNombreSocio(dsPartidos.Tables[0].Rows[13][2].ToString());
                                dsPartidos.Tables[0].Rows[15][3] = dsPartidos.Tables[0].Rows[13][2].ToString();
                            }

                            if (p28 != -1)
                                dsPartidos.Tables[0].Rows[13][5] = tb28.Text;
                            else
                                dsPartidos.Tables[0].Rows[13][5] = DBNull.Value;
                        }
                    }
                    else
                    {
                        p28 = -1;
                        tbP30.Text = "";
                        tbP33.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[5][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[6][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[13][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[14][3] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb28.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb29_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb29.Text, p29))
                {
                    if (tb29.Text != "")
                    {
                        //rellenarSiguiente(ref p29, ref p30, tb29, tb30, tbP29, tbP30, tbP31);
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p29, ref p30, tb29, tb30, 6, 2, 6, 3, 8, 2, tbP31);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p29, ref p30, tb29, tb30, 14, 2, 14, 3, 16, 2, tbP31);
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (p29 != -1)
                                dsPartidos.Tables[0].Rows[6][4] = tb29.Text;
                            else
                                dsPartidos.Tables[0].Rows[6][4] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (p29 != -1)
                                dsPartidos.Tables[0].Rows[14][4] = tb29.Text;
                            else
                                dsPartidos.Tables[0].Rows[16][4] = DBNull.Value;                            
                        }
                    }
                    else
                    {
                        p29 = -1;
                        tbP31.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[6][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[8][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[14][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[16][2] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb29.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb30_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb30.Text, p30))
                {
                    if (tb30.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p30, ref p29, tb30, tb29, 6, 3, 6, 2, 8, 2, tbP31);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p30, ref p29, tb30, tb29, 14, 3, 14, 2, 16, 2, tbP31);
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (p30 != -1)
                                dsPartidos.Tables[0].Rows[6][5] = tb30.Text;
                            else
                                dsPartidos.Tables[0].Rows[6][5] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (p30 != -1)
                                dsPartidos.Tables[0].Rows[14][5] = tb30.Text;
                            else
                                dsPartidos.Tables[0].Rows[14][5] = DBNull.Value;                           
                        }
                    }
                    else
                    {
                        p30 = -1;
                        tbP31.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[6][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[8][2] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[14][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[16][2] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb30.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb32_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb32.Text, p32))
                {
                    if (tb32.Text != "")
                    {
                        //rellenarSiguiente(ref p32, ref p33, tb32, tb33, tbP32, tbP33, tbP34);
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p32, ref p33, tb32, tb33, 7, 2, 7, 3, 8, 3, tbP34);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p32, ref p33, tb32, tb33, 15, 2, 15, 3, 16, 3, tbP34);
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (p32 != -1)
                                dsPartidos.Tables[0].Rows[7][4] = tb32.Text;
                            else
                                dsPartidos.Tables[0].Rows[7][4] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (p32 != -1)
                                dsPartidos.Tables[0].Rows[15][4] = tb32.Text;
                            else
                                dsPartidos.Tables[0].Rows[15][4] = DBNull.Value;
                        }
                    }
                    else
                    {
                        p32 = -1;
                        tbP34.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[7][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[8][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[15][4] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[16][3] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb32.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void tb33_Leave(object sender, EventArgs e)
        {
            try
            {
                if (ValidarNumero(tb33.Text, p33))
                {
                    if (tb33.Text != "")
                    {
                        if (numParticipantes == 12 || numParticipantes == 8)
                            rellenarSiguiente(ref p33, ref p32, tb33, tb32, 7, 3, 7, 2, 8, 3, tbP34);
                        else if (numParticipantes == 24 || numParticipantes == 16)
                            rellenarSiguiente(ref p33, ref p32, tb33, tb32, 15, 3, 15, 2, 16, 3, tbP34);
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            if (p33 != -1)
                                dsPartidos.Tables[0].Rows[7][5] = tb33.Text;
                            else
                                dsPartidos.Tables[0].Rows[7][5] = DBNull.Value;                      
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            if (p33 != -1)
                                dsPartidos.Tables[0].Rows[15][5] = tb33.Text;
                            else
                                dsPartidos.Tables[0].Rows[15][5] = DBNull.Value; 
                        }
                    }
                    else
                    {
                        p33 = -1;
                        tbP34.Text = "";
                        if (numParticipantes == 12 || numParticipantes == 8)
                        {
                            dsPartidos.Tables[0].Rows[7][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[8][3] = DBNull.Value;
                        }
                        else if (numParticipantes == 24 || numParticipantes == 16)
                        {
                            dsPartidos.Tables[0].Rows[15][5] = DBNull.Value;
                            dsPartidos.Tables[0].Rows[16][3] = DBNull.Value;
                        }
                    }
                    modificado = true;
                }
                else
                {
                    tb33.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
       private void btPremios_Click(object sender, EventArgs e)
        {
            try
            {
                contenedor.hijoFormEventoFinalizado.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btGrupos_Click(object sender, EventArgs e)
        {
            try
            {
                if (modificado)
                {
                    switch (MessageBox.Show("Las puntuaciones han sido modificadas. ¿Desea guardar los cambios?    ", "Datos modificados.", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
                    {
                        case System.Windows.Forms.DialogResult.Yes:
                            btGuardar_Click(sender, e);
                            break;
                        case System.Windows.Forms.DialogResult.No:
                            CargarBracketsDeTorneo(nombreEvento);
                            modificado = false;
                            break;
                        case System.Windows.Forms.DialogResult.Cancel:
                            break;
                    }
                }

                if (!modificado)
                {
                    if ((string)enTorneo.ObtenerDatosDeTorneo(nombreEvento).Tables[0].Rows[0]["Grupos"] == "Si")
                        contenedor.hijoFormEventosGruposT.Focus();
                    else
                        contenedor.hijoFormEventosAltaTorneo.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void rellenarBracketsDe8(DataRowCollection rows)
        {
            try
            {
                p1 = -1;
                p2 = -1;
                p3 = -1;
                p4 = -1;
                p5 = -1;
                p6 = -1;
                p7 = -1;
                p8 = -1;
                p9 = -1;
                p10 = -1;
                p11 = -1;
                p12 = -1;
                p13 = -1;
                p14 = -1;
                p15 = -1;
                p16 = -1;
                p17 = -1;
                p18 = -1;
                p19 = -1;
                p20 = -1;
                p21 = -1;
                p22 = -1;
                p23 = -1;
                p24 = -1;
                p25 = -1;
                p26 = -1;
                p27 = -1;
                p28 = -1;
                p29 = -1;
                p30 = -1;
                p32 = -1;
                p33 = -1;

                tbP1.Text = enSocio.ObtenerNombreSocio(rows[0]["DNISocioA"].ToString());
                tb1.Text = rows[0]["PuntosA"].ToString();
                if (tb1.Text != "")
                    p1 = int.Parse(tb1.Text);
                tbP2.Text = enSocio.ObtenerNombreSocio(rows[0]["DNISocioB"].ToString());
                tb2.Text = rows[0]["PuntosB"].ToString();
                if (tb2.Text != "")
                    p2 = int.Parse(tb2.Text);

                tbP1.Location = new Point(359, 65); tb1.Location = new Point(459, 65);
                tbP2.Location = new Point(359, 119); tb2.Location = new Point(459, 119);
                tbP3.Location = new Point(359, 169); tb3.Location = new Point(459, 169);
                tbP4.Location = new Point(359, 223); tb4.Location = new Point(459, 223);
                tbP5.Location = new Point(359, 275); tb5.Location = new Point(459, 275);
                tbP6.Location = new Point(359, 329); tb6.Location = new Point(459, 329);
                tbP7.Location = new Point(359, 378); tb7.Location = new Point(459, 378);
                tbP8.Location = new Point(359, 432); tb8.Location = new Point(459, 432);

                tbP3.Text = enSocio.ObtenerNombreSocio(rows[1]["DNISocioA"].ToString());
                tb3.Text = rows[1]["PuntosA"].ToString();
                if (tb3.Text != "")
                    p3 = int.Parse(tb3.Text);
                tbP4.Text = enSocio.ObtenerNombreSocio(rows[1]["DNISocioB"].ToString());
                tb4.Text = rows[1]["PuntosB"].ToString();
                if (tb4.Text != "")
                    p4 = int.Parse(tb4.Text);

                tbP5.Text = enSocio.ObtenerNombreSocio(rows[2]["DNISocioA"].ToString());
                tb5.Text = rows[2]["PuntosA"].ToString();
                if (tb5.Text != "")
                    p5 = int.Parse(tb5.Text);
                tbP6.Text = enSocio.ObtenerNombreSocio(rows[2]["DNISocioB"].ToString());
                tb6.Text = rows[2]["PuntosB"].ToString();
                if (tb6.Text != "")
                    p6 = int.Parse(tb6.Text);

                tbP7.Text = enSocio.ObtenerNombreSocio(rows[3]["DNISocioA"].ToString());
                tb7.Text = rows[3]["PuntosA"].ToString();
                if (tb7.Text != "")
                    p7 = int.Parse(tb7.Text);
                tbP8.Text = enSocio.ObtenerNombreSocio(rows[3]["DNISocioB"].ToString());
                tb8.Text = rows[3]["PuntosB"].ToString();
                if (tb8.Text != "")
                    p8 = int.Parse(tb8.Text);

                tbP9.Visible = false; tbP10.Visible = false; tbP11.Visible = false; tbP12.Visible = false;
                tbP13.Visible = false; tbP14.Visible = false; tbP15.Visible = false; tbP16.Visible = false;
                tb9.Visible = false; tb10.Visible = false; tb11.Visible = false; tb12.Visible = false;
                tb13.Visible = false; tb14.Visible = false; tb15.Visible = false; tb16.Visible = false;

                tbP17.Visible = false; tbP18.Visible = false; tbP19.Visible = false; tbP20.Visible = false;
                tbP21.Visible = false; tbP22.Visible = false; tbP23.Visible = false; tbP24.Visible = false;
                tb17.Visible = false; tb18.Visible = false; tb19.Visible = false; tb20.Visible = false;
                tb21.Visible = false; tb22.Visible = false; tb23.Visible = false; tb24.Visible = false;

                tbP25.Text = enSocio.ObtenerNombreSocio(rows[4]["DNISocioA"].ToString());
                tb25.Text = rows[4]["PuntosA"].ToString();
                if (tb25.Text != "")
                    p25 = int.Parse(tb25.Text);
                tbP26.Text = enSocio.ObtenerNombreSocio(rows[4]["DNISocioB"].ToString());
                tb26.Text = rows[4]["PuntosB"].ToString();
                if (tb26.Text != "")
                    p26 = int.Parse(tb26.Text);

                tbP27.Text = enSocio.ObtenerNombreSocio(rows[5]["DNISocioA"].ToString());
                tb27.Text = rows[5]["PuntosA"].ToString();
                if (tb27.Text != "")
                    p27 = int.Parse(tb27.Text);
                tbP28.Text = enSocio.ObtenerNombreSocio(rows[5]["DNISocioB"].ToString());
                tb28.Text = rows[5]["PuntosB"].ToString();
                if (tb28.Text != "")
                    p28 = int.Parse(tb28.Text);

                tbP29.Text = enSocio.ObtenerNombreSocio(rows[6]["DNISocioA"].ToString());
                tb29.Text = rows[6]["PuntosA"].ToString();
                if (tb29.Text != "")
                    p29 = int.Parse(tb29.Text);
                tbP30.Text = enSocio.ObtenerNombreSocio(rows[6]["DNISocioB"].ToString());
                tb30.Text = rows[6]["PuntosB"].ToString();
                if (tb30.Text != "")
                    p30 = int.Parse(tb30.Text);

                tbP32.Text = enSocio.ObtenerNombreSocio(rows[7]["DNISocioA"].ToString());
                tb32.Text = rows[7]["PuntosA"].ToString();
                if (tb32.Text != "")
                    p32 = int.Parse(tb32.Text);
                tbP33.Text = enSocio.ObtenerNombreSocio(rows[7]["DNISocioB"].ToString());
                tb33.Text = rows[7]["PuntosB"].ToString();
                if (tb33.Text != "")
                    p33 = int.Parse(tb33.Text);

                // Ganador y Tercer Clasificado salen del partido 9 => [8]
                tbP31.Text = enSocio.ObtenerNombreSocio(rows[8]["DNISocioA"].ToString());
                tbP34.Text = enSocio.ObtenerNombreSocio(rows[8]["DNISocioB"].ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void rellenarBracketsDe16(DataRowCollection rows)
        {
            try
            {
                p1 = -1;
                p2 = -1;
                p3 = -1;
                p4 = -1;
                p5 = -1;
                p6 = -1;
                p7 = -1;
                p8 = -1;
                p9 = -1;
                p10 = -1;
                p11 = -1;
                p12 = -1;
                p13 = -1;
                p14 = -1;
                p15 = -1;
                p16 = -1;
                p17 = -1;
                p18 = -1;
                p19 = -1;
                p20 = -1;
                p21 = -1;
                p22 = -1;
                p23 = -1;
                p24 = -1;
                p25 = -1;
                p26 = -1;
                p27 = -1;
                p28 = -1;
                p29 = -1;
                p30 = -1;
                p32 = -1;
                p33 = -1;

                tbP1.Text = enSocio.ObtenerNombreSocio(rows[0]["DNISocioA"].ToString());
                tb1.Text = rows[0]["PuntosA"].ToString();
                if (tb1.Text != "")
                    p1 = int.Parse(tb1.Text);
                tbP2.Text = enSocio.ObtenerNombreSocio(rows[0]["DNISocioB"].ToString());
                tb2.Text = rows[0]["PuntosB"].ToString();
                if (tb2.Text != "")
                    p2 = int.Parse(tb2.Text);

                tbP3.Text = enSocio.ObtenerNombreSocio(rows[1]["DNISocioA"].ToString());
                tb3.Text = rows[1]["PuntosA"].ToString();
                if (tb3.Text != "")
                    p3 = int.Parse(tb3.Text);
                tbP4.Text = enSocio.ObtenerNombreSocio(rows[1]["DNISocioB"].ToString());
                tb4.Text = rows[1]["PuntosB"].ToString();
                if (tb4.Text != "")
                    p4 = int.Parse(tb4.Text);

                tbP5.Text = enSocio.ObtenerNombreSocio(rows[2]["DNISocioA"].ToString());
                tb5.Text = rows[2]["PuntosA"].ToString();
                if (tb5.Text != "")
                    p5 = int.Parse(tb5.Text);
                tbP6.Text = enSocio.ObtenerNombreSocio(rows[2]["DNISocioB"].ToString());
                tb6.Text = rows[2]["PuntosB"].ToString();
                if (tb6.Text != "")
                    p6 = int.Parse(tb6.Text);

                tbP7.Text = enSocio.ObtenerNombreSocio(rows[3]["DNISocioA"].ToString());
                tb7.Text = rows[3]["PuntosA"].ToString();
                if (tb7.Text != "")
                    p7 = int.Parse(tb7.Text);
                tbP8.Text = enSocio.ObtenerNombreSocio(rows[3]["DNISocioB"].ToString());
                tb8.Text = rows[3]["PuntosB"].ToString();
                if (tb8.Text != "")
                    p8 = int.Parse(tb8.Text);

                tbP1.Location = new Point(209, 52); tb1.Location = new Point(309, 52);
                tbP2.Location = new Point(209, 78); tb2.Location = new Point(309, 78);
                tbP3.Location = new Point(209, 104); tb3.Location = new Point(309, 104);
                tbP4.Location = new Point(209, 130); tb4.Location = new Point(309, 130);
                tbP5.Location = new Point(209, 156); tb5.Location = new Point(309, 156);
                tbP6.Location = new Point(209, 182); tb6.Location = new Point(309, 182);
                tbP7.Location = new Point(209, 208); tb7.Location = new Point(309, 208);
                tbP8.Location = new Point(209, 234); tb8.Location = new Point(309, 234);

                tbP9.Visible = true; tbP10.Visible = true; tbP11.Visible = true; tbP12.Visible = true;
                tbP13.Visible = true; tbP14.Visible = true; tbP15.Visible = true; tbP16.Visible = true;
                tb9.Visible = true; tb10.Visible = true; tb11.Visible = true; tb12.Visible = true;
                tb13.Visible = true; tb14.Visible = true; tb15.Visible = true; tb16.Visible = true;

                tbP17.Visible = true; tbP18.Visible = true; tbP19.Visible = true; tbP20.Visible = true;
                tbP21.Visible = true; tbP22.Visible = true; tbP23.Visible = true; tbP24.Visible = true;
                tb17.Visible = true; tb18.Visible = true; tb19.Visible = true; tb20.Visible = true;
                tb21.Visible = true; tb22.Visible = true; tb23.Visible = true; tb24.Visible = true;

                tbP9.Text = enSocio.ObtenerNombreSocio(rows[4]["DNISocioA"].ToString());
                tb9.Text = rows[4]["PuntosA"].ToString();
                if (tb9.Text != "")
                    p9 = int.Parse(tb9.Text);
                tbP10.Text = enSocio.ObtenerNombreSocio(rows[4]["DNISocioB"].ToString());
                tb10.Text = rows[4]["PuntosB"].ToString();
                if (tb10.Text != "")
                    p10 = int.Parse(tb10.Text);

                tbP11.Text = enSocio.ObtenerNombreSocio(rows[5]["DNISocioA"].ToString());
                tb11.Text = rows[5]["PuntosA"].ToString();
                if (tb11.Text != "")
                    p11 = int.Parse(tb11.Text);
                tbP12.Text = enSocio.ObtenerNombreSocio(rows[5]["DNISocioB"].ToString());
                tb12.Text = rows[5]["PuntosB"].ToString();
                if (tb12.Text != "")
                    p12 = int.Parse(tb12.Text);

                tbP13.Text = enSocio.ObtenerNombreSocio(rows[6]["DNISocioA"].ToString());
                tb13.Text = rows[6]["PuntosA"].ToString();
                if (tb13.Text != "")
                    p13 = int.Parse(tb13.Text);
                tbP14.Text = enSocio.ObtenerNombreSocio(rows[6]["DNISocioB"].ToString());
                tb14.Text = rows[6]["PuntosB"].ToString();
                if (tb14.Text != "")
                    p14 = int.Parse(tb14.Text);

                tbP15.Text = enSocio.ObtenerNombreSocio(rows[7]["DNISocioA"].ToString());
                tb15.Text = rows[7]["PuntosA"].ToString();
                if (tb15.Text != "")
                    p15 = int.Parse(tb15.Text);
                tbP16.Text = enSocio.ObtenerNombreSocio(rows[7]["DNISocioB"].ToString());
                tb16.Text = rows[7]["PuntosB"].ToString();
                if (tb16.Text != "")
                    p16 = int.Parse(tb16.Text);

                tbP17.Text = enSocio.ObtenerNombreSocio(rows[8]["DNISocioA"].ToString());
                tb17.Text = rows[8]["PuntosA"].ToString();
                if (tb17.Text != "")
                    p17 = int.Parse(tb17.Text);
                tbP18.Text = enSocio.ObtenerNombreSocio(rows[8]["DNISocioB"].ToString());
                tb18.Text = rows[8]["PuntosB"].ToString();
                if (tb18.Text != "")
                    p18 = int.Parse(tb18.Text);

                tbP19.Text = enSocio.ObtenerNombreSocio(rows[9]["DNISocioA"].ToString());
                tb19.Text = rows[9]["PuntosA"].ToString();
                if (tb19.Text != "")
                    p19 = int.Parse(tb19.Text);
                tbP20.Text = enSocio.ObtenerNombreSocio(rows[9]["DNISocioB"].ToString());
                tb20.Text = rows[9]["PuntosB"].ToString();
                if (tb20.Text != "")
                    p20 = int.Parse(tb20.Text);

                tbP21.Text = enSocio.ObtenerNombreSocio(rows[10]["DNISocioA"].ToString());
                tb21.Text = rows[10]["PuntosA"].ToString();
                if (tb21.Text != "")
                    p21 = int.Parse(tb21.Text);
                tbP22.Text = enSocio.ObtenerNombreSocio(rows[10]["DNISocioB"].ToString());
                tb22.Text = rows[10]["PuntosB"].ToString();
                if (tb22.Text != "")
                    p22 = int.Parse(tb22.Text);

                tbP23.Text = enSocio.ObtenerNombreSocio(rows[11]["DNISocioA"].ToString());
                tb23.Text = rows[11]["PuntosA"].ToString();
                if (tb23.Text != "")
                    p23 = int.Parse(tb23.Text);
                tbP24.Text = enSocio.ObtenerNombreSocio(rows[11]["DNISocioB"].ToString());
                tb24.Text = rows[11]["PuntosB"].ToString();
                if (tb24.Text != "")
                    p24 = int.Parse(tb24.Text);

                tbP25.Text = enSocio.ObtenerNombreSocio(rows[12]["DNISocioA"].ToString());
                tb25.Text = rows[12]["PuntosA"].ToString();
                if (tb25.Text != "")
                    p25 = int.Parse(tb25.Text);
                tbP26.Text = enSocio.ObtenerNombreSocio(rows[12]["DNISocioB"].ToString());
                tb26.Text = rows[12]["PuntosB"].ToString();
                if (tb26.Text != "")
                    p26 = int.Parse(tb26.Text);

                tbP27.Text = enSocio.ObtenerNombreSocio(rows[13]["DNISocioA"].ToString());
                tb27.Text = rows[13]["PuntosA"].ToString();
                if (tb27.Text != "")
                    p27 = int.Parse(tb27.Text);
                tbP28.Text = enSocio.ObtenerNombreSocio(rows[13]["DNISocioB"].ToString());
                tb28.Text = rows[13]["PuntosB"].ToString();
                if (tb28.Text != "")
                    p28 = int.Parse(tb28.Text);

                tbP29.Text = enSocio.ObtenerNombreSocio(rows[14]["DNISocioA"].ToString());
                tb29.Text = rows[14]["PuntosA"].ToString();
                if (tb29.Text != "")
                    p29 = int.Parse(tb29.Text);
                tbP30.Text = enSocio.ObtenerNombreSocio(rows[14]["DNISocioB"].ToString());
                tb30.Text = rows[14]["PuntosB"].ToString();

                tbP32.Text = enSocio.ObtenerNombreSocio(rows[15]["DNISocioA"].ToString());
                tb32.Text = rows[15]["PuntosA"].ToString();
                if (tb32.Text != "")
                    p32 = int.Parse(tb32.Text);
                tbP33.Text = enSocio.ObtenerNombreSocio(rows[15]["DNISocioB"].ToString());
                tb33.Text = rows[15]["PuntosB"].ToString();
                if (tb33.Text != "")
                    p33 = int.Parse(tb33.Text);

                // Ganador y Tercer Clasificado salen del partido 17  => [16]
                tbP31.Text = enSocio.ObtenerNombreSocio(rows[16]["DNISocioA"].ToString());
                tbP34.Text = enSocio.ObtenerNombreSocio(rows[16]["DNISocioB"].ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (enPartido.GuardarPartidosDePlayoff(dsPartidos, nombreEvento))
                {
                    modificado = false;
                    MessageBox.Show("Puntuaciones insertadas correctamente.    ", "Puntuaciones guardadas.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Ha ocurrido un error en la inserción.    ", "Error al insertar.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        /************************************************** Funciones de Marcos **************************************************/

        public bool CargarBracketsDeTorneo(string nombreTorneo)
        {
            bool resultado = false;

            try
            {
                nombreEvento = nombreTorneo;
                numParticipantes = enTorneo.ObtenerNumeroDeParticipantesDeTorneo(nombreEvento);
                dsPartidos = enPartido.ObtenerPartidos(nombreEvento);

                if (numParticipantes == 12 || numParticipantes == 8)
                    rellenarBracketsDe8(dsPartidos.Tables[0].Rows);
                else if (numParticipantes == 24 || numParticipantes == 16)
                    rellenarBracketsDe16(dsPartidos.Tables[0].Rows);

                if ((string)enTorneo.ObtenerDatosDeTorneo(nombreEvento).Tables[0].Rows[0]["Grupos"] == "No")
                {
                    btGrupos.Text = "<< Datos del Torneo";
                    btGrupos.Width = 157;
                }
                else
                {
                    btGrupos.Text = "<< Grupos";
                    btGrupos.Width = 96;
                }

                if ((string)enTorneo.ObtenerDatosDeTorneo(nombreEvento).Tables[0].Rows[0]["Estado"] == "Finalizado")
                {
                    btPremios.Enabled = true;
                    btGuardar.Enabled = false;
                    bFinalizar.Enabled = false;

                    tb1.Enabled = false;
                    tb2.Enabled = false;
                    tb3.Enabled = false;
                    tb4.Enabled = false;
                    tb5.Enabled = false;
                    tb6.Enabled = false;
                    tb7.Enabled = false;
                    tb8.Enabled = false;
                    tb9.Enabled = false;
                    tb10.Enabled = false;
                    tb11.Enabled = false;
                    tb12.Enabled = false;
                    tb13.Enabled = false;
                    tb14.Enabled = false;
                    tb15.Enabled = false;
                    tb16.Enabled = false;
                    tb17.Enabled = false;
                    tb18.Enabled = false;
                    tb19.Enabled = false;
                    tb20.Enabled = false;
                    tb21.Enabled = false;
                    tb22.Enabled = false;
                    tb23.Enabled = false;
                    tb24.Enabled = false;
                    tb25.Enabled = false;
                    tb26.Enabled = false;
                    tb27.Enabled = false;
                    tb28.Enabled = false;
                    tb29.Enabled = false;
                    tb30.Enabled = false;
                    tb32.Enabled = false;
                    tb33.Enabled = false;
                }
                else
                {
                    btPremios.Enabled = false;
                    btGuardar.Enabled = true;
                    bFinalizar.Enabled = true;

                    tb1.Enabled = true;
                    tb2.Enabled = true;
                    tb3.Enabled = true;
                    tb4.Enabled = true;
                    tb5.Enabled = true;
                    tb6.Enabled = true;
                    tb7.Enabled = true;
                    tb8.Enabled = true;
                    tb9.Enabled = true;
                    tb10.Enabled = true;
                    tb11.Enabled = true;
                    tb12.Enabled = true;
                    tb13.Enabled = true;
                    tb14.Enabled = true;
                    tb15.Enabled = true;
                    tb16.Enabled = true;
                    tb17.Enabled = true;
                    tb18.Enabled = true;
                    tb19.Enabled = true;
                    tb20.Enabled = true;
                    tb21.Enabled = true;
                    tb22.Enabled = true;
                    tb23.Enabled = true;
                    tb24.Enabled = true;
                    tb25.Enabled = true;
                    tb26.Enabled = true;
                    tb27.Enabled = true;
                    tb28.Enabled = true;
                    tb29.Enabled = true;
                    tb30.Enabled = true;
                    tb32.Enabled = true;
                    tb33.Enabled = true;
                }

                modificado = false;

                resultado = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se han encontrado errores.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return resultado;
        }

        private void FormEventosBracketsT_Load(object sender, EventArgs e)
        {
            try
            {
                dsPartidos = new DataSet();
                contenedor = (FormContenedor)MdiParent;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bSalir_Click(object sender, EventArgs e)
        {
            try
            {
                if (modificado)
                {
                    switch (MessageBox.Show("Las puntuaciones han sido modificadas. ¿Desea guardar los cambios?    ", "Datos modificados.", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
                    {
                        case System.Windows.Forms.DialogResult.Yes:
                            btGuardar_Click(sender, e);
                            break;
                        case System.Windows.Forms.DialogResult.No:
                            CargarBracketsDeTorneo(nombreEvento);
                            modificado = false;
                            break;
                        case System.Windows.Forms.DialogResult.Cancel:
                            break;
                    }
                }

                if (!modificado)
                {
                    contenedor.hijoFormEventosGestion.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bFinalizar_Click(object sender, EventArgs e)
        {
            try
            {
                if (modificado)
                {
                    switch (MessageBox.Show("Las puntuaciones han sido modificadas. ¿Desea guardar los cambios?    ", "Datos modificados.", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
                    {
                        case System.Windows.Forms.DialogResult.Yes:
                            btGuardar_Click(sender, e);
                            break;
                        case System.Windows.Forms.DialogResult.No:
                            CargarBracketsDeTorneo(nombreEvento);
                            modificado = false;
                            break;
                        case System.Windows.Forms.DialogResult.Cancel:
                            break;
                    }
                }

                if (!modificado)
                {
                    if (numParticipantes == 8 || numParticipantes == 12)
                    {
                        if (dsPartidos.Tables[0].Rows[8]["DNISocioA"].ToString() != "" && dsPartidos.Tables[0].Rows[8]["DNISocioB"].ToString() != "")
                        {
                            if (MessageBox.Show("¿Esta seguro de que desea terminar las eliminatorias?    ", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                            {
                                if (enTorneo.CerrarEliminatoriasDeTorneo(nombreEvento))
                                {
                                    MessageBox.Show("            Torneo finalizado exitosamente.    ", "Jornadas cerradas.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    CargarBracketsDeTorneo(nombreEvento);
                                    contenedor.hijoFormEventosGestion.CargarDataGridViewEventos();
                                    contenedor.hijoFormEventoFinalizado.RellenarNombres(nombreEvento);
                                    contenedor.hijoFormEventoFinalizado.Focus();
                                }
                                else
                                    MessageBox.Show("Error al cerrar las eliminatorias del torneo.    ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("                Hay partidos sin resultados.\nDebe rellenar todos los partidos antes de cerrar las Jornadas.", "Faltan partidos por completar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else if (numParticipantes == 16 || numParticipantes == 24)
                    {
                        if (dsPartidos.Tables[0].Rows[16]["DNISocioA"].ToString() != "" && dsPartidos.Tables[0].Rows[16]["DNISocioB"].ToString() != "")
                        {
                            if (MessageBox.Show("¿Esta seguro de que desea terminar las eliminatorias?    ", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                            {
                                if (enTorneo.CerrarEliminatoriasDeTorneo(nombreEvento))
                                {
                                    MessageBox.Show("Torneo finalizado exitosamente.    ", "Jornadas cerradas.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    CargarBracketsDeTorneo(nombreEvento);
                                    contenedor.hijoFormEventosGestion.CargarDataGridViewEventos();
                                    contenedor.hijoFormEventoFinalizado.RellenarNombres(nombreEvento);
                                    contenedor.hijoFormEventoFinalizado.Focus();
                                }
                                else
                                    MessageBox.Show("Error al cerrar las eliminatorias del torneo.    ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("                Hay partidos sin resultados.\nDebe rellenar todos los partidos antes de cerrar las Jornadas.", "Faltan partidos por completar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Se ha producido un error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        /************************************************** Fin Funciones de Marcos **************************************************/
    }
}
